package com.baidu.sggc.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.util.Date;
import java.io.Serializable;

/**
 * 资源信息表(ResourceInfo)实体类
 *
 * @author ZengFz
 * @since 2025-02-21 09:34:02
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("resource_info")
@Schema(name = "ResourceInfo对象", description = "资源信息表")
public class ResourceInfo implements Serializable {
    private static final long serialVersionUID = -94911905319174572L;

    /**
     * 主键ID
     */
    @Schema(description = "主键ID")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 资源ID
     */
    @Schema(description = "资源ID")
    private String resourceId;

    /**
     * 资源名称
     */
    @Schema(description = "资源名称")
    private String resourceName;

    /**
     * 资源头像
     */
    @Schema(description = "资源头像URL")
    private String resourceImageUrl;

    /**
     * 资源类型
     */
    @Schema(description = "资源类型")
    private String resourceType;

    /**
     * 资源描述
     */
    @Schema(description = "资源描述")
    private String resourceDescribe;

    /**
     * 标签，多个标签以逗号分隔
     */
    @Schema(description = "资源标签，多个标签以逗号分隔")
    private String tags;

    /**
     * 是否订阅：0-未订阅，1-已订阅
     */
    @Schema(description = "是否订阅：1-未订阅，2-已订阅")
    private Integer subscribe;

    /**
     * 是否删除：0-未删除，1-已删除
     */
    @Schema(description = "是否删除：0-未删除，1-已删除")
    private Integer isDel;

    /**
     * 创建人，-1表示系统
     */
    @Schema(description = "创建人ID，-1表示系统")
    private String createId;

    /**
     * 更新人
     */
    @Schema(description = "更新人ID")
    private String updateId;

    /**
     * 创建时间
     */
    @Schema(description = "创建时间")
    private Date createTime;

    /**
     * 更新时间
     */
    @Schema(description = "更新时间")
    private Date updateTime;

    /**
     * 用户名
     */
    @TableField(exist = false)
    private String userName;

    /**
     * 分页
     */
    @TableField(exist = false)
    private Integer pageNum;

    @TableField(exist = false)
    private Integer pageSize;

}
